Ext.namespace('pages.p2p.jhnxm.jhnlr.query');

pages.p2p.jhnxm.jhnlr.query.JhnlrAdd = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.record = config.record;
	this.initUIComponents();
	pages.p2p.jhnxm.jhnlr.query.JhnlrAdd.superclass.constructor.call(this);
};
Ext.extend(pages.p2p.jhnxm.jhnlr.query.JhnlrAdd, Ext.Window, {
	initUIComponents : function() {
		this.sjhmStore = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
				url : ExtJ.getActionPath('jhn/queryTjrsjhmList.do')
			}),
			reader : new Ext.data.JsonReader({
				root : 'data',
				totalProperty : 'total',
				id : 'ID'
			}, [{
				name : 'SJHM',
				mapping : 'SJHM'
			},{
				name : 'REAL_NAME',
				mapping : 'REAL_NAME'
			},{
				name : 'SFZ_NUM',
				mapping : 'SFZ_NUM'
			}])
		});
		this.form = new Ext.form.FormPanel({
			region : 'center',
			layout : 'column',
			height : 400,
			labelWidth : 140,
			labelAlign : 'left',
			autoScroll : true,
			border : false,
			frame : false,
			title:'项目信息',
			bodyStyle : 'padding:5', 
			
			items : [ {
				columnWidth : 1,
				height : 10,
				border : false
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false
			}, {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权名称',
					xtype : 'textfield',
					name : 'ZQMC',
					id : 'ZQMC',
					allowBlank : false,
					value : '资金垫还',
					maxLength : 45,
					maxLengthText : '债权名称过长',
					anchor : '98%'
				} ]
			}, {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权所属人姓名',
					xtype : 'textfield',
					allowBlank : false,
					name : 'ZQSSR',
					id : 'ZQSSR',
					maxLength : 45,
					maxLengthText : '债权所属人姓名过长',
					anchor : '98%'
				}]
			}, {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [new Ext.form.ComboBox({
					fieldLabel : '债权所属人手机号码',
					name : 'SJHM',
					id : 'SJHM',
					anchor : '98%',
					store : this.sjhmStore,
					valueField : 'ID',
					displayField : 'SJHM',
					hiddenName : 'ZQ_SJHM_VALUE',
					triggerAction : 'all',
					mode : 'local',
					editable : true,
					allowBlank : false,
					regex:/^1[3|4|5|7|8]\d{9}$/,
					regexText:'请输入11位手机号码',
					hideTrigger : true,
					selectOnFocus : true,
					listeners : {
						'beforequery' : function(e) {
							//console.log(e);
						this.sjhmStore.baseParams.sjhm = e.query;
							//console.log(this.sjhmStore.baseParams.sjhm);
							this.sjhmStore.reload({
								params : {
								start : 0,
								limit : 10
							},
						callback : function(r,options,success) {
							console.log(r.length);
							if(r.length>0){
								Ext.getCmp('SJHM').expand();
							}else{
								Ext.MessageBox.alert('提示','手机号码不存在,请重新输入!',function(){
								Ext.getCmp('SJHM').setRawValue('');
								})
							}
							
						}
							})
						}.createDelegate(this),
						'select':function(c,r,index){
							var lr_name=r.get('REAL_NAME');
							var lr_sfzhm=r.get('SFZ_NUM');
							var sjhm=r.get('SJHM');
							if(null!=lr_name){
								Ext.getCmp('ZQSSR').setValue(lr_name);
							}
							if(null!=lr_sfzhm){
								Ext.getCmp('SFZNUM').setValue(lr_sfzhm);
							}
							if(null!=sjhm){
								Ext.getCmp('SJHM').setRawValue(sjhm);
							}
						}
					}
				})]
			},{
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权所属人身份证号码',
					xtype : 'textfield',
					allowBlank : false,
					name : 'SFZNUM',
					id : 'SFZNUM',
					regex  :  /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/,
					regexText : '请输入正确的15位或18位身份证号',
					anchor : '98%'
				} ]
			}, {columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权开始时间',
					xtype : 'datefield',
					allowBlank : false, 
					anchor: '98%',
					name : 'KSSJ',
					format : 'Y-m-d',
					value:new Date(),
					id : 'KSSJ'
				} ]
			}, {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权结束时间',
					xtype : 'datefield',
					allowBlank : false, 
					anchor: '98%',
					name : 'JSSJ',
					format : 'Y-m-d',
					id : 'JSSJ'
				} ]
			},{
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '债权金额',
					xtype : 'numberfield',
					allowBlank : false,
					allowNegative : false,//阻止负号输入
					decimalPrecision:2,
					regex  :  /^\d{1,10}(\.[0-9]{1,2}){0,1}$/,
					regexText : '请输入0到9,999,999,999.99之间的数值',
					name : 'ZQJE',
					id : 'ZQJE',
					anchor : '98%'
				} ]
			},  {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ new Ext.form.ComboBox({
					fieldLabel : '债权类型',
					name : 'ZQLX',
					id : 'ZQLX',
					anchor : '98%',
					store : new Ext.data.SimpleStore({
						fields : [ 'VALUE', 'TEXT' ],
						data : [/* [ '00', '未知' ],*/[ '01', '债权' ]]
					}),
					valueField : 'VALUE',
					displayField : 'TEXT',
					hiddenName : 'ZQLX_VALUE',
					triggerAction : 'all',
					mode : 'local',
					editable : false,
					selectOnFocus : true,
					allowBlank : false, 
					value:'01'
				})]
			}, {
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '录入用户名',
					xtype : 'textfield',
					name : 'LRR',
					id : 'LRR',
					value : parent.gyh,
					readOnly : true,
					anchor : '98%'
				} ]
			} ,{
				columnWidth : .5,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '录入时间',
					xtype : 'datefield',
					anchor: '90%',
					name : 'LRSJ',
					id : 'LRSJ',
					format : 'Y-m-d',
					hideTrigger : true,
					value:new Date(),
					readOnly : true,
					anchor : '98%'
				} ]
			}]
		});
		this.uploadPanel = new Ext.ux.UploadPanel({
			region : 'south',
			title: '附件',
			height : 150,
			readOnly : 'view'==this.operType ? true:false,
			orgId : parent.roleId
		});
		Ext.apply(this, {
			id : 'form_lrzq',
			title : '录入债权',
			border : false,
			layout : 'border',
			style:{
				marginRight: 'auto',
		        marginLeft: 'auto'
			},
			width : 700,
			height : 400,
			modal : true,
			items : [ this.form,this.uploadPanel ],
			listeners:{
				'render' : this.initData.createDelegate(this)
			},
			tbar : [ {
				text : '保存',
				iconCls : 'save',
				hidden: 'add'==this.operType ? false:true,
				handler: this.onSave.createDelegate(this)
			},{
				text : '关闭',
				iconCls : 'close',
				handler:this.onCancel.createDelegate(this)
			} ]
		});
	},
	
	initData : function() {},
	
	onSave:function(){
		var zqmc = Ext.getCmp("ZQMC").getValue();
		if(''==zqmc){
			Ext.Msg.alert('提示','债权名称不能为空！');
			return;
		}else if(zqmc.length>45){
			Ext.Msg.alert('提示','债权名称字数不能超过45字！');
			return;
		}
		var zqssr = Ext.getCmp("ZQSSR").getValue();
		if(''==zqssr){
			Ext.Msg.alert('提示','债权所属人姓名不能为空！');
			return;
		}else if(zqssr.length>45){
			Ext.Msg.alert('提示','债权所属人姓名字数不能超过45字！');
			return;
		}
		var sjhm = Ext.getCmp("SJHM").getRawValue();
		console.log(sjhm);
		var sj=new RegExp(/^1[3|4|5|7|8]\d{9}$/);
		if(!sj.test(sjhm)){
			Ext.Msg.alert('提示','债权所属人手机号码格式不正确！');
			return;
		}
		var sfznum = Ext.getCmp("SFZNUM").getValue();
		var re = new RegExp(/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/);
		if(!re.test(sfznum)){
			Ext.Msg.alert('提示','请输入正确的15位或18位身份证号！');
			return;
		}
		var kssj = Ext.getCmp("KSSJ").getRawValue();
		var now=new Date().format('Y-m-d');
		if(''==kssj){
			Ext.Msg.alert('提示','债权开始时间不能为空！');
			return;
		}else if(kssj<now){
			Ext.Msg.alert('提示','债权开始时间不能小于当前时间！');
			return;
		}
		var jssj = Ext.getCmp("JSSJ").getRawValue();
		if(''==kssj){
			Ext.Msg.alert('提示','债权结束时间不能为空！');
			return;
		}
		if(kssj>jssj){
			Ext.Msg.alert('提示','债权结束时间不能小于债权开始时间！');
			return;
		}
		
		var re_zq = new RegExp(/^\d{1,10}(\.[0-9]{1,2}){0,1}$/);
		var zqje = Ext.getCmp("ZQJE").getValue();
		if(''==zqje){
			Ext.Msg.alert('提示','债权金额不能为空！');
			return;
		}else if(!re_zq.test(zqje)){
			Ext.Msg.alert('提示','债权金额格式不正确!');
			return;
		}
		//var zqlx = Ext.getCmp("ZQLX").getValue();
		var lrr = Ext.getCmp("LRR").getValue();
		var zqlx = Ext.getCmp("ZQLX").getValue();
		var lrsj = Ext.getCmp("LRSJ").getRawValue();
		if(!this.form.getForm().isValid()){
			Ext.Msg.alert('提示','页面输入的有误,请按照要求输入!');
			return;
		}
		var atts = this.uploadPanel.getFileIds() + "";
		
		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
			method:'post',
			url:ExtJ.getActionPath('jhn/saveJhnzq.do'),
			params:{
				zqmc:zqmc,
				zqssr:zqssr,
				sjhm:sjhm,
				sfznum:sfznum,
				kssj:kssj,
				jssj:jssj,
				zqje:zqje,
				zqlx:zqlx,
				atts:atts
			},
			reset : false,
			success : function(option, action){
				var text = Ext.decode(action.response.responseText);
				this.close();
				if(text.isAddSuc){
					Ext.getCmp('grid').getStore().reload();
					Ext.Msg.alert('提示','保存成功!');
				}else{
					Ext.Msg.alert('提示','保存失败!');
				}
				Ext.getBody().unmask(true);
			}.createDelegate(this)
		});
	},
	onCancel : function(){
		this.close();
	}
});